// 首页数据全部在这里进行模拟
import Mock from 'mockjs'

/*
  1. cnpm i mockjs 安装
  2. 在项目的 src 文件中创建一个 mock 文件夹
  3. 在 mock 文件中，需要哪个页面的数据就直接创建一个同名的 js 文件即可，如 home.js
  4. 在该文件中导入 import Mock from 'mockjs'
  5. 通过  Mock.mock 生成我们需要的数据
  6. 通过 Mock.mock('/getProListData', 'get', () => { return data }) 生成请求方法
  7. 安装 axios, cnpm i axios
  8. 将 utils 文件拿过来
  9. 将 utils 下的 request.js 中的 baseURL 改为 /
  10. 在 src 中创建一个 api 文件夹，然后创建一个 home.js 文件
  11. 在 home.js 中导入 mock 文件
  12. 在组件中直接调用即可
*/


const { data, a } = Mock.mock({
  "data|20": [
    {
      'goodsKind|1': ['男装', '女装', '童装'],
      'proid': "pro-" + '@guid()',
      "proname": '@ctitle(5, 10)',
      'proStart|1-5': '★',
      'proimage': '@image("150x150","@color","老吴")',
      "createTime": "@datetime"
    }
  ],
  "a": [

  ]
})



// 配置一个 get 请求
// Mock.mock('/getProListData', 'get', () => { return data })
// 如果要设置 post 请求，那么我们返回的内容就要是 json
Mock.mock('/getProListData', 'post', (config) => {

  const req = JSON.parse(config.body)
  // console.log(data.slice(req.page * 5, (req.page + 1) * 5));
  return data.slice(req.page * 5, (req.page + 1) * 5)
})

// 增加一条数据
Mock.mock('/addItem', 'post', (config) => {
  const req = JSON.parse(config.body)

  // console.log(req);
  // 将输入插入到数组中
  data.push(req)

  return {
    code: '200',
    msg: '添加成功'
  }
})

Mock.mock('/edit', 'post', (config) => {
  const req = JSON.parse(config.body)

  let res = {
    code: '200',
    msg: '修改失败'
  }
  // 遍历 data 找到要修改的对象，修改即可
  data.forEach((item, index) => {
    // 找到要修改的对象
    if (item.proid == req.proid) {
      //
      data[index] = req
      res.msg = '修改成功'
    }
  });

  return res

})



Mock.mock('/del', 'post', (config) => {
  const req = JSON.parse(config.body)

  let res = {
    code: '200',
    msg: '删除失败'
  }
  // 遍历 data 找到要修改的对象，修改即可
  data.forEach((item, index) => {
    // 找到要删除的对象
    if (item.proid == req.proid) {

      // 在数组中删除一个元素
      data.splice(index, 1)


      res.msg = '删除成功'
    }
  });

  return res

})
